home *** CD-ROM | disk | FTP | other *** search
/ Kellogg's Amérique / Kellogg's Amérique / speed.swf / scripts / amerique / Speed.as
Text File  |  2020-08-04  |  15KB  |  437 lines

  1. package amerique
  2. {
  3.    import flash.display.DisplayObject;
  4.    import flash.display.MovieClip;
  5.    import flash.events.Event;
  6.    import flash.events.MouseEvent;
  7.    import flash.events.TimerEvent;
  8.    import flash.media.SoundMixer;
  9.    import flash.text.TextField;
  10.    import flash.utils.Timer;
  11.    import flash.utils.getQualifiedClassName;
  12.    import jeux.Jeu;
  13.    
  14.    public class Speed extends Jeu
  15.    {
  16.        
  17.       
  18.       public var page_accueil:MovieClip;
  19.       
  20.       const DUREE_PARTIE:Number = 60;
  21.       
  22.       public var titre:MovieClip;
  23.       
  24.       private var tempPlan:Number;
  25.       
  26.       private var animaux:Array;
  27.       
  28.       public var chargement:MovieClip;
  29.       
  30.       private var gagne:Boolean;
  31.       
  32.       private var quit:Boolean = false;
  33.       
  34.       public var bug:TextField;
  35.       
  36.       private var choix:Array;
  37.       
  38.       public var page_lesavaistu:MovieClip;
  39.       
  40.       private var selection:Array;
  41.       
  42.       private var page:Number = 1;
  43.       
  44.       public var message_mc:MovieClip;
  45.       
  46.       public var page_resultat:MovieClip;
  47.       
  48.       public var page_course:MovieClip;
  49.       
  50.       const COEF_SCORE:Number = 1;
  51.       
  52.       public var page_jeu:MovieClip;
  53.       
  54.       public function Speed()
  55.       {
  56.          quit = false;
  57.          page = 1;
  58.          animaux = new Array({
  59.             "nom":"ours noir",
  60.             "vitesse":50,
  61.             "numero":1
  62.          },{
  63.             "nom":"lynx",
  64.             "vitesse":70,
  65.             "numero":2
  66.          },{
  67.             "nom":"marmotte",
  68.             "vitesse":15,
  69.             "numero":3
  70.          },{
  71.             "nom":"tatou",
  72.             "vitesse":0.3,
  73.             "numero":4
  74.          },{
  75.             "nom":"puma",
  76.             "vitesse":52,
  77.             "numero":5
  78.          },{
  79.             "nom":"∩┐╜cureuil gris",
  80.             "vitesse":24,
  81.             "numero":6
  82.          },{
  83.             "nom":"ca∩┐╜man",
  84.             "vitesse":20,
  85.             "numero":7
  86.          },{
  87.             "nom":"condor des andes",
  88.             "vitesse":100,
  89.             "numero":8
  90.          },{
  91.             "nom":"lamantin",
  92.             "vitesse":27,
  93.             "numero":9
  94.          });
  95.          super();
  96.          pages = [chargement,page_accueil,page_lesavaistu,page_jeu,page_resultat];
  97.          hide_all_but(page_lesavaistu);
  98.          page_accueil.btn_lesavaistu.addEventListener(MouseEvent.CLICK,clic_bouton);
  99.          page_accueil.btn_jouer.addEventListener(MouseEvent.CLICK,clic_bouton);
  100.          page_lesavaistu.btn_accueil.addEventListener(MouseEvent.CLICK,clic_bouton);
  101.          page_lesavaistu.btn_jouer.addEventListener(MouseEvent.CLICK,clic_bouton);
  102.          page_resultat.btn_jouer.addEventListener(MouseEvent.CLICK,clic_bouton);
  103.          page_lesavaistu.infos_animaux.stop();
  104.          page_lesavaistu.infos_animaux.btRetour.addEventListener(MouseEvent.CLICK,bouton_retour);
  105.          page_lesavaistu.infos_animaux.btRetour.buttonMode = true;
  106.          page_lesavaistu.infos_animaux.btSuite.addEventListener(MouseEvent.CLICK,bouton_suite);
  107.          page_lesavaistu.infos_animaux.btSuite.buttonMode = true;
  108.          page_lesavaistu.infos_animaux.btRetour.visible = false;
  109.          message_mc.visible = false;
  110.          message_mc.addEventListener(MouseEvent.CLICK,effacer_message);
  111.          page_jeu.btValider.addEventListener(MouseEvent.CLICK,valider_choix);
  112.          page_jeu.chrono.visible = false;
  113.          page_course.visible = false;
  114.       }
  115.       
  116.       private function deposer_objet(param1:MouseEvent) : void
  117.       {
  118.          var _loc2_:Number = NaN;
  119.          var _loc3_:Number = NaN;
  120.          _loc2_ = param1.currentTarget.name.substr(param1.currentTarget.name.indexOf("_") + 1,param1.currentTarget.name.length - param1.currentTarget.name.indexOf("_") + 1);
  121.          param1.currentTarget.stopDrag();
  122.          param1.currentTarget.parent.setChildIndex(param1.currentTarget,tempPlan);
  123.          _loc3_ = Number(trouver_choix(param1.currentTarget));
  124.          if(trouver_choix(param1.currentTarget) > 0)
  125.          {
  126.             switch(trouver_choix(param1.currentTarget))
  127.             {
  128.                case 1:
  129.                   page_jeu["photo_" + _loc2_].x = 413.6;
  130.                   page_jeu["photo_" + _loc2_].y = 329.6;
  131.                   break;
  132.                case 2:
  133.                   page_jeu["photo_" + _loc2_].x = 201.7;
  134.                   page_jeu["photo_" + _loc2_].y = 478.6;
  135.                   break;
  136.                case 3:
  137.                   page_jeu["photo_" + _loc2_].x = 648.6;
  138.                   page_jeu["photo_" + _loc2_].y = 522.5;
  139.             }
  140.             this.page_jeu["boite_" + trouver_choix(param1.currentTarget)].visible = false;
  141.             choix[_loc3_ - 1] = _loc2_;
  142.          }
  143.          else
  144.          {
  145.             switch(_loc2_)
  146.             {
  147.                case 1:
  148.                   page_jeu["photo_" + _loc2_].x = 52.7;
  149.                   page_jeu["photo_" + _loc2_].y = 173.3;
  150.                   break;
  151.                case 2:
  152.                   page_jeu["photo_" + _loc2_].x = 280.7;
  153.                   page_jeu["photo_" + _loc2_].y = 221;
  154.                   break;
  155.                case 3:
  156.                   page_jeu["photo_" + _loc2_].x = 104.7;
  157.                   page_jeu["photo_" + _loc2_].y = 345.8;
  158.             }
  159.             param1.currentTarget.scaleX = 1;
  160.             param1.currentTarget.scaleY = 1;
  161.          }
  162.       }
  163.       
  164.       private function calculer_score(param1:TimerEvent = null) : *
  165.       {
  166.          if(!quit)
  167.          {
  168.             if(animaux[selection[choix[0] - 1].numero - 1].vitesse >= animaux[selection[choix[1] - 1].numero - 1].vitesse)
  169.             {
  170.                page_course.score.score += 4;
  171.             }
  172.             if(animaux[selection[choix[1] - 1].numero - 1].vitesse >= animaux[selection[choix[2] - 1].numero - 1].vitesse)
  173.             {
  174.                page_course.score.score += 4;
  175.             }
  176.             if(animaux[selection[choix[0] - 1].numero - 1].vitesse >= animaux[selection[choix[2] - 1].numero - 1].vitesse)
  177.             {
  178.                page_course.score.score += 4;
  179.             }
  180.          }
  181.       }
  182.       
  183.       private function valider_choix(param1:MouseEvent = null) : void
  184.       {
  185.          var _loc2_:Number = NaN;
  186.          var _loc3_:Timer = null;
  187.          if(choix[0] != 0 && choix[1] != 0 && choix[2] != 0)
  188.          {
  189.             trace("valider_choix : " + choix);
  190.             page_jeu.chrono.arreter();
  191.             page_jeu.chrono.visible = false;
  192.             page_jeu.visible = false;
  193.             _loc2_ = 0;
  194.             while(_loc2_ < 3)
  195.             {
  196.                page_course["animaux_" + (_loc2_ + 1)].gotoAndStop("animal" + animaux[selection[choix[_loc2_] - 1].numero - 1].numero);
  197.                _loc2_++;
  198.             }
  199.             page_course.visible = true;
  200.             _loc3_ = new Timer(500,1);
  201.             _loc3_.addEventListener("timer",lancer_course);
  202.             _loc3_.start();
  203.          }
  204.          else
  205.          {
  206.             message_mc.visible = true;
  207.          }
  208.       }
  209.       
  210.       private function bouton_retour(param1:MouseEvent) : void
  211.       {
  212.          page_lesavaistu.infos_animaux.btSuite.visible = true;
  213.          --page;
  214.          if(page <= 1)
  215.          {
  216.             page = 1;
  217.             page_lesavaistu.infos_animaux.btRetour.visible = false;
  218.          }
  219.          page_lesavaistu.infos_animaux.gotoAndStop("animal" + page);
  220.       }
  221.       
  222.       private function lancer_course(param1:TimerEvent = null) : void
  223.       {
  224.          var _loc2_:Number = NaN;
  225.          if(!quit)
  226.          {
  227.             trace("lancer_course");
  228.             _loc2_ = 1;
  229.             while(_loc2_ <= 3)
  230.             {
  231.                page_course["animaux_" + _loc2_].animal.gotoAndPlay(1);
  232.                _loc2_++;
  233.             }
  234.             addEventListener(Event.ENTER_FRAME,verifier_gagne);
  235.          }
  236.       }
  237.       
  238.       private function selectionner_animaux() : void
  239.       {
  240.          var _loc1_:Number = NaN;
  241.          var _loc2_:Number = NaN;
  242.          selection = new Array();
  243.          do
  244.          {
  245.             _loc1_ = Math.floor(Math.random() * animaux.length);
  246.             if(selection.indexOf(animaux[_loc1_]) == -1)
  247.             {
  248.                selection.push(animaux[_loc1_]);
  249.             }
  250.          }
  251.          while(selection.length < 3);
  252.          
  253.          _loc2_ = 0;
  254.          while(_loc2_ < 3)
  255.          {
  256.             trace(selection[_loc2_].nom + ", " + selection[_loc2_].numero);
  257.             page_jeu["photo_" + (_loc2_ + 1)].gotoAndStop(selection[_loc2_].numero);
  258.             _loc2_++;
  259.          }
  260.       }
  261.       
  262.       private function bouton_suite(param1:MouseEvent) : void
  263.       {
  264.          page_lesavaistu.infos_animaux.btRetour.visible = true;
  265.          ++page;
  266.          if(page >= 9)
  267.          {
  268.             page = 9;
  269.             page_lesavaistu.infos_animaux.btSuite.visible = false;
  270.          }
  271.          page_lesavaistu.infos_animaux.gotoAndStop("animal" + page);
  272.       }
  273.       
  274.       override public function toString() : String
  275.       {
  276.          return "Jeu " + getQualifiedClassName(this);
  277.       }
  278.       
  279.       override public function quitter() : *
  280.       {
  281.          quit = true;
  282.       }
  283.       
  284.       private function effacer_message(param1:MouseEvent) : void
  285.       {
  286.          param1.currentTarget.visible = false;
  287.       }
  288.       
  289.       override public function jouer() : *
  290.       {
  291.          var _loc1_:Number = NaN;
  292.          quit = false;
  293.          hide_all_but(page_jeu);
  294.          page_course.visible = false;
  295.          page_jeu["photo_1"].x = 52.7;
  296.          page_jeu["photo_1"].y = 173.3;
  297.          page_jeu["photo_2"].x = 280.7;
  298.          page_jeu["photo_2"].y = 221;
  299.          page_jeu["photo_3"].x = 104.7;
  300.          page_jeu["photo_3"].y = 345.8;
  301.          _loc1_ = 1;
  302.          while(_loc1_ <= 3)
  303.          {
  304.             page_jeu["photo_" + _loc1_].scaleX = 1;
  305.             page_jeu["photo_" + _loc1_].scaleY = 1;
  306.             page_jeu["photo_" + _loc1_].visible = true;
  307.             this.page_jeu["boite_" + _loc1_].visible = true;
  308.             _loc1_++;
  309.          }
  310.          selectionner_animaux();
  311.          page_jeu.chrono.visible = false;
  312.          page_course.score.score = 0;
  313.          page_jeu.score.visible = false;
  314.          gagne = false;
  315.          choix = new Array(0,0,0);
  316.          _loc1_ = 1;
  317.          while(_loc1_ <= 3)
  318.          {
  319.             page_jeu["photo_" + _loc1_].addEventListener(MouseEvent.MOUSE_DOWN,prendre_objet);
  320.             page_jeu["photo_" + _loc1_].addEventListener(MouseEvent.MOUSE_UP,deposer_objet);
  321.             page_course["animaux_" + _loc1_].gotoAndStop("animal1");
  322.             _loc1_++;
  323.          }
  324.       }
  325.       
  326.       private function prendre_objet(param1:MouseEvent) : void
  327.       {
  328.          var _loc2_:Number = NaN;
  329.          var _loc3_:Number = NaN;
  330.          param1.currentTarget.startDrag();
  331.          tempPlan = param1.currentTarget.parent.getChildIndex(param1.currentTarget);
  332.          param1.currentTarget.parent.setChildIndex(param1.currentTarget,param1.currentTarget.parent.numChildren - 1);
  333.          _loc2_ = param1.currentTarget.name.substr(param1.currentTarget.name.indexOf("_") + 1,param1.currentTarget.name.length - param1.currentTarget.name.indexOf("_") + 1);
  334.          _loc3_ = 0;
  335.          while(_loc3_ < 3)
  336.          {
  337.             trace(choix[_loc3_] + " ?= " + _loc2_ + " => " + (choix[_loc3_] == _loc2_));
  338.             if(choix[_loc3_] == _loc2_)
  339.             {
  340.                this.page_jeu["boite_" + (_loc3_ + 1)].visible = true;
  341.             }
  342.             _loc3_++;
  343.          }
  344.       }
  345.       
  346.       private function verifier_gagne(param1:Event) : *
  347.       {
  348.          var _loc2_:Number = NaN;
  349.          var _loc3_:Timer = null;
  350.          if(!quit)
  351.          {
  352.             _loc2_ = 1;
  353.             while(_loc2_ <= 3)
  354.             {
  355.                if(page_course["animaux_" + _loc2_].animal.currentFrame != page_course["animaux_" + _loc2_].animal.totalFrames)
  356.                {
  357.                   return;
  358.                }
  359.                _loc2_++;
  360.             }
  361.             calculer_score();
  362.             removeEventListener(Event.ENTER_FRAME,verifier_gagne);
  363.             _loc3_ = new Timer(1500,1);
  364.             _loc3_.addEventListener("timer",finjeu);
  365.             _loc3_.start();
  366.          }
  367.          else
  368.          {
  369.             removeEventListener(Event.ENTER_FRAME,verifier_gagne);
  370.          }
  371.       }
  372.       
  373.       private function trouver_choix(param1:Object) : Number
  374.       {
  375.          var _loc2_:Number = NaN;
  376.          _loc2_ = 1;
  377.          while(_loc2_ <= 3)
  378.          {
  379.             if(this.page_jeu["boite_" + _loc2_].visible)
  380.             {
  381.                if(param1.hitTestObject(DisplayObject(this.page_jeu["boite_" + _loc2_])))
  382.                {
  383.                   return _loc2_;
  384.                }
  385.             }
  386.             _loc2_++;
  387.          }
  388.          return 0;
  389.       }
  390.       
  391.       public function finjeu(param1:TimerEvent = null) : void
  392.       {
  393.          var _loc2_:Number = NaN;
  394.          if(!quit)
  395.          {
  396.             page_course.visible = false;
  397.             SoundMixer.stopAll();
  398.             hide_all_but(page_resultat);
  399.             _loc2_ = page_course.score.score;
  400.             page_resultat.bulle_gagne.visible = false;
  401.             page_resultat.bulle_gagne1.visible = false;
  402.             page_resultat.bulle_perdu.visible = false;
  403.             if(_loc2_ >= 12)
  404.             {
  405.                page_resultat.bulle_gagne.visible = true;
  406.                page_resultat.bulle_gagne.points.text = _loc2_;
  407.                jouer_son_victoire();
  408.             }
  409.             else if(_loc2_ >= 8)
  410.             {
  411.                page_resultat.bulle_gagne1.visible = true;
  412.                page_resultat.bulle_gagne1.points.text = _loc2_;
  413.                jouer_son_defaite();
  414.             }
  415.             else
  416.             {
  417.                page_resultat.bulle_perdu.visible = true;
  418.                page_resultat.bulle_perdu.points.text = _loc2_;
  419.                if(_loc2_ >= 2)
  420.                {
  421.                   page_resultat.bulle_perdu.textePoints.text = "points.";
  422.                }
  423.                else
  424.                {
  425.                   page_resultat.bulle_perdu.textePoints.text = "point.";
  426.                }
  427.                jouer_son_defaite();
  428.             }
  429.             if(fin != null)
  430.             {
  431.                fin(_loc2_);
  432.             }
  433.          }
  434.       }
  435.    }
  436. }
  437.